package com.ysx.server.service;

import com.github.pagehelper.Page;
import com.ysx.server.pojo.dto.UserDTO;
import com.ysx.server.pojo.dto.UserLoginDTO;
import com.ysx.server.pojo.dto.UserPageQueryDTO;
import com.ysx.server.pojo.dto.UserRegisterDTO;
import com.ysx.server.pojo.entity.User;
import com.ysx.server.pojo.vo.UserInfoVO;

import javax.servlet.http.HttpServletRequest;

/**
 * 用户业务接口
 */
public interface UserService {

    /**
     * 用户注册
     * @return
     */
    boolean register(UserRegisterDTO userRegisterDTO, HttpServletRequest request);

    /**
     * 登陆
     * @param userLoginDTO
     * @return
     */
    User login(UserLoginDTO userLoginDTO);

    /**
     * 管理员获取用户信息
     * @return
     * @param userPageQueryDTO
     */
    Page<UserInfoVO> getUserManage(UserPageQueryDTO userPageQueryDTO);

    /**
     * 删除用户
     * @param id
     * @return
     */
    boolean delete(Long id);

    /**
     * 新增用户
     * @param user
     * @return
     */
    boolean save(User user);

    /**
     * 修改用户
     * @param userDTO
     * @return
     */
    boolean update(UserDTO userDTO);

    /**
     * 通过id获取用户信息
     * @param id
     * @return
     */
    User getById(Long id);
}
